SMB2J Worlds A through D data
By Insectduel
This is the data where the standard pointers, halfway pages, and other stuff that only exist in World A through D levels in SMB2J. The data is respectably the second block memory of the game.
Let’s begin the basics of the Standard level pointers
Room header data
There are the areas
Sea Attributes
00 World B-2
01 Invalid
02 Invalid
03 Invalid
04 Invalid
05 World 9-1 (SMAS only)
06 Part of World D-4 (Overworld Part, Level offset xC8E4)
07 World 9-4 (SMAS only)
08 World B-2 (SMAS only)
Overworld Attributes
20 World A-1
21 World A-3
22 World B-1
23 World B-3
24 World C-1
25 World C-2
26 World C-3
27 World D-1
28 World D-2
29 World D-3
2A World D-4 (Overworld Part)
2B Cloud Bonus Area
2C Pipe Intro
2D Overworld Ending
2E World A-2
2F Bonus Area
30 World B-2
Underground Attributes
40 World A-2
41 Bonus Area
42 World B-2
43 Invalid
44 Invalid
45 World A-2 (SMAS only)
46 Bonus Area (SMAS only)
Castle Attributes
60 World A-4
61 World B-4
62 World C-4
63 World D-4
64 World A-1
65 World A-3
66 World B-1
67 World B-3
68 World C-1
69 World C-2
6A World C-3
6B World D-1
6C World D-2
6D World D-3
6E World D-4 (Overworld Part)
6F Cloud Bonus Area
70 Pipe Intro
71 Overworld Ending
72 World A-2
73 Bonus Area
74 World B-2
Level Pointer data
Keep in mind that the data is in EXACT order.
Determines the number of levels to load for each world.
48514=0xBD82
Original Offsets: 00 05 0A 0E
Determines what map number to load for each level.
48523=0xBD8B
World A 20 2C 40 21 60
World B 22 2C 00 23 61
World C 24 25 26 62
World D 27 28 29 63
Enemy Pointer Data
This is the data where the pointers came from which is programmed to send enemies from one room to another room.
Sprite listing Attribute Pointers for Worlds A-D
48541=0xBD9D Room 00 Hex 14
48542=0xBD9E Room 20 Hex 04
48543=0xBD9F Room 40 Hex 12
48544=0xBDA0 Room 60 Hex 00
Sprite listing ROOM Pointers
48545=0xBDA1 Room 60 Hex D0 C5 (World A-4)
48547=0xBDA3 Room 61 Hex F5 C5
48549=0xBDA5 Room 62 Hex 1C C6
48551=0xBDA7 Room 63 Hex 5D C6
48553=0xBDA9 Room 20 Hex 8C C6 (World A-1)
48555=0xBDAB Room 21 Hex C7 C6
48557=0xBDAD Room 22 Hex D6 C6
48559=0xBDAF Room 23 Hex 04 C7
48561=0xBDB1 Room 24 Hex 29 C7
48563=0xBDB3 Room 25 Hex 4C C7
48565=0xBDB5 Room 26 Hex 6B C7
48567=0xBDB7 Room 27 Hex 8A C7
48569=0xBDB9 Room 28 Hex AA C7
48571=0xBDBB Room 29 Hex CB C7
48573=0xBDBD Room 2A Hex E2 C7 (World D-4, Overworld Part)
48575=0xBDBF Room 2B Hex F2 C7 (Cloud Bonus Area)
48577=0xBDC1 Room 2C Hex 60 C2 (Pipe Intro)
48579=0xBDC3 Room 2D Hex 60 C2 (Overworld Ending)
48581=0xBDC5 Room 40 Hex 01 C8 (World A-2)
48583=0xBDC7 Room 41 Hex 1B C8
48585=0xBDC9 Room 00 Hex 2F C8 (World B-2)
Object level Pointer Data
This is the data where the pointers came from which is programmed to send objects from one room to another room.
Object listing Attribute Pointers
48587=0xBDCB Room 00 Hex 14
48588=0xBDCC Room 20 Hex 04
48589=0xBDCD Room 40 Hex 12
48590=0xBDCE Room 60 Hex 00
Object listing ROOM pointers
48591=0xBDCF Room 60 Hex 53 C8 (World A-4)
48593=0xBDD1 Room 61 Hex C6 C8
48595=0xBDD3 Room 62 Hex 43 C9
48597=0xBDD5 Room 63 Hex DE C9
48599=0xBDD7 Room 20 Hex 6D CA (World A-1)
48601=0xBDD9 Room 21 Hex FC CA
48603=0xBDDB Room 22 Hex 55 CB
48605=0xBDDD Room 23 Hex E6 CB
48607=0xBDDF Room 24 Hex 45 CC
48609=0xBDE1 Room 25 Hex BC CC
48611=0xBDE3 Room 26 Hex 17 CD
48613=0xBDE5 Room 27 Hex 94 CD
48615=0xBDE7 Room 28 Hex 11 CE
48617=0xBDE9 Room 29 Hex 5C CE
48619=0xBDEB Room 2A Hex C7 CE (World D-4, Overworld Part)
48621=0xBDED Room 2B Hex EA CE (Cloud Bonus Area)
48623=0xBDEF Room 2C Hex 74 C2 (Pipe Intro)
48625=0xBDF1 Room 2D Hex 61 C2 (Overworld Ending)
48627=0xBDF3 Room 40 Hex 07 CF (World A-2)
48629=0xBDF5 Room 41 Hex 7C CF
48631=0xBDF7 Room 00 Hex DB CF (World B-2)
Halfway pages
48633=0xBDF9
Original Offsets 76 50 65 50 75 B0 00 00
7650 World A
6550 World B
75B0 World C
0000 World D
The first digit of the first byte is the midway point for level 1.
The second digit is for level 2.
The first digit for the second byte is level 3.
The second digit is level 4.
11223344
11 22
Byte 1
33 44
Byte 2
And offsets 48641=0xBE01 to 48652=0xBE0C were the unknown sets of data. Proberly the high and low bytes of enemy and object data. If anyone found out what they are please let me know. Remember that they can only work on World A levels only.
DISCLAIMER
THIS DOCUMENT IS (c) 2006 INSECTDUEL. THIS DOCUMENT IS FOR PRIVATE USE ONLY. YOU'RE NOT ALLOWED TO PUBLISH IT ON YOUR WEBSITE WITHOUT AUTHOR'S PERMISSION, ALTER IT IN ANY WAY, PUBLISH IT IN BOOKS AND/OR MAGAZINES, OR SELL IT FOR ANY PROFIT. YOU MAY PRINT IT AND GIVE IT TO WHOMEVER YOU WANT AS LONG AS YOU DON’T GET ANY CASH FOR IT. YOU MAY ALSO LINK DIRECTLY TO IT UNMODIFIED.
YOU CAN E-MAIL INSECTDUEL FOR QUESTIONS, COMMENTS, CORRECTIONS AND/OR
CONTRIBUTIONS AND YOU WILL BE GIVEN CREDIT FOR THEM AS LONG AS THEY
ARE USEFUL AND PERTINENT TO THE DOCUMENT. THE E-MAIL ADDRESS IS AT THE MAIN PAGE.
Insectduel is in no way in afflication with Nintendo.